package co.gov.medellin.ssti.sub.service;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;

import javax.naming.NamingException;

import co.gov.medellin.ssti.sub.common.ConexionFactory;
import co.gov.medellin.ssti.sub.model.dao.DAOFactory;
import co.gov.medellin.ssti.sub.model.dao.IBeneficioOtorgadoDAO;
import co.gov.medellin.ssti.sub.model.dao.exception.DAOException;
import co.gov.medellin.ssti.sub.model.vo.RepBeneficioOtorgadoVO;

public class BeneficioOtorgadoService {
	public List<RepBeneficioOtorgadoVO> loadAllBeneficiosBySubprograma(
			RepBeneficioOtorgadoVO param) throws DAOException {
		IBeneficioOtorgadoDAO beneficioOtorgadoDAO = null;
		try {
			Connection con = ConexionFactory.getInstance().getConnection();
			beneficioOtorgadoDAO = DAOFactory.getDAOFactory(DAOFactory.ORACLE)
					.getBeneficioOtorgadoDAO(con);
			return beneficioOtorgadoDAO.loadAllBeneficiosBySubprograma(param);
		} catch (NamingException e) {
			throw new DAOException(e);
		} catch (SQLException e) {
			throw new DAOException(e);
		} finally {
			if (beneficioOtorgadoDAO != null) {
				if (!beneficioOtorgadoDAO.isConnClosed()) {
					beneficioOtorgadoDAO.close();
				}
			}
		}
	}
}
